RNA-Seq: TFA analysis of SC Controls
Libraries required
library(plgINS)
library(plotly)
library(UpSetR)
library(RColorBrewer)
library(grid)
library(gridExtra)
library(DT)Data
load("input/dea_SC_Controls.DEA.RData")
load("input/voom_EList_SC_Controls.RData")
load("input/salmon_SC_controls.tds.RData")
data(regulon.curated.mm)TFA analysis
Transcription Factor Binding Affinity analysis is performed using Virtual Inference of Protein-activity by Enriched Regulon analysis (VIPER) algorithm.
Regulon is a group of genes that are regulated as a unit, generally controlled by the same regulatory gene that expresses a protein acting as a repressor or activator.
More details: 10.1038/ng.3593
Function to show table
make_DT <- function(tab) {
df <- data.frame(TF = rownames(tab), tab, check.names = F, stringsAsFactors = F)
DT::datatable(
df,
rownames = F,
filter = "top", extensions = c("Buttons", "ColReorder"), options = list(
autoWidth = TRUE,
columnDefs = list(list(
targets = 12,
render = JS(
"function(data, type, row, meta) {",
"return type === 'display' && data.length > 8 ?",
"'<span title=\"' + data + '\">' + data.substr(0, 8) + '...</span>' : data;",
"}"
)
)),
pageLength = 10,
buttons = c("copy", "csv", "excel", "pdf", "print"),
colReorder = list(realtime = FALSE),
dom = "fltBip"
)
)
}Filters a viper regulon by likelihood
regulon.mm10 <- regulon.filter(regulon = regulon.curated.mm, min.likelihood = 0.15)TFA analysis
All regulons
tfa.all <- mapply(
function(x, y) TFA(se = x$E, dea = y, design = x$design, regulon = regulon.curated.mm),
voomEList, dea.list
)
tfa.all <- lapply(tfa.all, function(x) {
colData(x) <- DataFrame(salmon@phenoData[colnames(x), ])
return(x)
})Filtered regulons
tfa <- mapply(
function(x, y) TFA(se = x$E, dea = y, design = x$design, regulon = regulon.mm10),
voomEList, dea.list
)
tfa <- lapply(tfa, function(x) {
colData(x) <- DataFrame(salmon@phenoData[colnames(x), ])
return(x)
})Results
Volcano plots
All regulons
p <- subplot(plotTFA(tfa.all$`PND8 vs PND15`) %>%
layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa.all$`PND8 vs Adult`) %>%
layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa.all$`PND15 vs Adult`) %>%
layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
nrows = 3, shareX = T, shareY = T, titleX = T, titleY = T
)
p %>% layout(title = "", annotations = list(
list(
x = 0.5, y = 1.02, text = "PND8 vs PND15", showarrow = F, xref = "paper", yref = "paper",
font = list(color = "red", family = "Arial", size = 16)
),
list(
x = 0.5, y = 0.66, text = "PND8 vs Adult", showarrow = F, xref = "paper", yref = "paper",
font = list(color = "red", family = "Arial", size = 16)
),
list(
x = 0.5, y = 0.33, text = "PND15 vs Adult", showarrow = F, xref = "paper", yref = "paper",
font = list(color = "red", family = "Arial", size = 16)
)
), showlegend = FALSE)Filtered regulons
p <- subplot(plotTFA(tfa$`PND8 vs PND15`) %>%
layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa$`PND8 vs Adult`) %>%
layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
plotTFA(tfa$`PND15 vs Adult`) %>%
layout(xaxis = list(range = c(-6, 6)), yaxis = list(range = c(-1, 22))),
nrows = 3, shareX = T, shareY = T, titleX = T, titleY = T
)
p %>% layout(title = "", annotations = list(
list(
x = 0.5, y = 1.02, text = "PND8 vs PND15", showarrow = F, xref = "paper", yref = "paper",
font = list(color = "red", family = "Arial", size = 16)
),
list(
x = 0.5, y = 0.66, text = "PND8 vs Adult", showarrow = F, xref = "paper", yref = "paper",
font = list(color = "red", family = "Arial", size = 16)
),
list(
x = 0.5, y = 0.33, text = "PND15 vs Adult", showarrow = F, xref = "paper", yref = "paper",
font = list(color = "red", family = "Arial", size = 16)
)
), showlegend = FALSE)UpSetPlot
All regulons
tfa.all.union <- Reduce(
union,
list(
rownames(rowData(tfa.all$`PND8 vs PND15`)[rowData(tfa.all$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]),
rownames(rowData(tfa.all$`PND8 vs Adult`)[rowData(tfa.all$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]),
rownames(rowData(tfa.all$`PND15 vs Adult`)[rowData(tfa.all$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ])
)
)
tfa.all.upset <- data.frame(
TF = tfa.all.union, `PND8 vs PND15` = 0, `PND8 vs Adult` = 0, `PND15 vs Adult` = 0,
check.names = F, stringsAsFactors = F
)
rownames(tfa.all.upset) <- tfa.all.upset$TF
tfa.all.upset[rownames(rowData(tfa.all$`PND8 vs PND15`)[rowData(tfa.all$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]), 2] <- 1
tfa.all.upset[rownames(rowData(tfa.all$`PND8 vs Adult`)[rowData(tfa.all$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 3] <- 1
tfa.all.upset[rownames(rowData(tfa.all$`PND15 vs Adult`)[rowData(tfa.all$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 4] <- 1
col <- brewer.pal(7, "Set1")
upset(tfa.all.upset[, 2:4],
point.size = 5, sets.bar.color = col[1:3], matrix.color = col[5],
order.by = "freq", set_size.numbers_size = T, text.scale = c(1.5, 2, 1.5, 1.5, 1.5, 2)
)grid.edit("arrange", name = "UpSet")vp <- grid.grab()grid.arrange(
grobs = list(
vp
),
top = "TFA in SC at different stages of development (FDR <= 0.05)",
cols = 1
)grid.arrange(
grobs = list(
vp
),
top = "TFA in SC at different stages of development (FDR <= 0.05)",
cols = 1
)Filtered regulons
tfa.union <- Reduce(
union,
list(
rownames(rowData(tfa$`PND8 vs PND15`)[rowData(tfa$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]),
rownames(rowData(tfa$`PND8 vs Adult`)[rowData(tfa$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]),
rownames(rowData(tfa$`PND15 vs Adult`)[rowData(tfa$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ])
)
)
tfa.upset <- data.frame(
TF = tfa.union, `PND8 vs PND15` = 0, `PND8 vs Adult` = 0, `PND15 vs Adult` = 0,
check.names = F, stringsAsFactors = F
)
rownames(tfa.upset) <- tfa.upset$TF
tfa.upset[rownames(rowData(tfa$`PND8 vs PND15`)[rowData(tfa$`PND8 vs PND15`)[, "activity.FDR"] <= 0.05, ]), 2] <- 1
tfa.upset[rownames(rowData(tfa$`PND8 vs Adult`)[rowData(tfa$`PND8 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 3] <- 1
tfa.upset[rownames(rowData(tfa$`PND15 vs Adult`)[rowData(tfa$`PND15 vs Adult`)[, "activity.FDR"] <= 0.05, ]), 4] <- 1
col <- brewer.pal(7, "Set1")
upset(tfa.upset[, 2:4],
point.size = 5, sets.bar.color = col[1:3], matrix.color = col[5],
order.by = "freq", set_size.numbers_size = T, text.scale = c(1.5, 2, 1.5, 1.5, 1.5, 2)
)grid.edit("arrange", name = "UpSet")vp <- grid.grab()grid.arrange(
grobs = list(
vp
),
top = "TFA in SC at different stages of development (FDR <= 0.05)",
cols = 1
)grid.arrange(
grobs = list(
vp
),
top = "TFA in SC at different stages of development (FDR <= 0.05)",
cols = 1
)Heatmaps of TBA
Data prep
All regulons
tfa.all$`PND8 vs PND15` <- tfa.all$`PND8 vs PND15`[, c(
grep(pattern = "PND8", x = colnames(tfa.all$`PND8 vs PND15`), value = T),
grep(pattern = "PND15", x = colnames(tfa.all$`PND8 vs PND15`), value = T)
)]
# rowData(tfa.all$`PND8 vs PND15`) <- rowData(tfa.all$`PND8 vs PND15`)[order(rowData(tfa.all$`PND8 vs PND15`)[, "activity.FDR"]), ]
tfa.all$`PND8 vs Adult` <- tfa.all$`PND8 vs Adult`[, c(
grep(pattern = "PND8", x = colnames(tfa.all$`PND8 vs Adult`), value = T),
grep(pattern = "Adult", x = colnames(tfa.all$`PND8 vs Adult`), value = T)
)]
# rowData(tfa.all$`PND8 vs Adult`) <- rowData(tfa.all$`PND8 vs Adult`)[order(rowData(tfa.all$`PND8 vs Adult`)[, "activity.FDR"]), ]
tfa.all$`PND15 vs Adult` <- tfa.all$`PND15 vs Adult`[, c(
grep(pattern = "PND15", x = colnames(tfa.all$`PND15 vs Adult`), value = T),
grep(pattern = "Adult", x = colnames(tfa.all$`PND15 vs Adult`), value = T)
)]
# rowData(tfa$`PND15 vs Adult`) <- rowData(tfa$`PND15 vs Adult`)[order(rowData(tfa$`PND15 vs Adult`)[, 11]), ]Filtered regulons
tfa$`PND8 vs PND15` <- tfa$`PND8 vs PND15`[, c(
grep(pattern = "PND8", x = colnames(tfa$`PND8 vs PND15`), value = ),
grep(pattern = "PND15", x = colnames(tfa$`PND8 vs PND15`), value = )
)]
# rowData(tfa$`PND8 vs PND15`) <- rowData(tfa$`PND8 vs PND15`)[order(rowData(tfa$`PND8 vs PND15`)[, 11]), ]
tfa$`PND8 vs Adult` <- tfa$`PND8 vs Adult`[, c(
grep(pattern = "PND8", x = colnames(tfa$`PND8 vs Adult`), value = ),
grep(pattern = "Adult", x = colnames(tfa$`PND8 vs Adult`), value = )
)]
# rowData(tfa$`PND8 vs Adult`) <- rowData(tfa$`PND8 vs Adult`)[order(rowData(tfa$`PND8 vs Adult`)[, 11]), ]
tfa$`PND15 vs Adult` <- tfa$`PND15 vs Adult`[, c(
grep(pattern = "PND15", x = colnames(tfa$`PND15 vs Adult`), value = ),
grep(pattern = "Adult", x = colnames(tfa$`PND15 vs Adult`), value = )
)]
# rowData(tfa$`PND15 vs Adult`) <- rowData(tfa$`PND15 vs Adult`)[order(rowData(tfa$`PND15 vs Adult`)[, 11]), ]Heatmaps
All regulons
PND8 vs PND15
sehm(
hmcols = viridis::viridis(1000), se = tfa.all$`PND8 vs PND15`[1:20, ],
anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)PND8 vs Adult
sehm(
hmcols = viridis::viridis(1000), se = tfa.all$`PND8 vs Adult`[1:20, ],
anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)PND15 vs Adult
sehm(
hmcols = viridis::viridis(1000), se = tfa.all$`PND15 vs Adult`[1:20, ],
anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)Filtered regulons
PND8 vs PND15
sehm(
hmcols = viridis::viridis(1000), se = tfa$`PND8 vs PND15`[1:20, ],
anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)PND8 vs Adult
sehm(
hmcols = viridis::viridis(1000), se = tfa$`PND8 vs Adult`[1:20, ],
anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)PND15 vs Adult
sehm(
hmcols = viridis::viridis(1000), se = tfa$`PND15 vs Adult`[1:20, ],
anno_columns = c("Group", "Cage.ID", "Batch"), scale = "row",
anno_rows = c("activity.logFC", "activity.FDR", "targetEnrichment", "targetEnrFDR")
)Tables
All regulons
PND8 vs PND15
make_DT(tab = rowData(tfa.all$`PND8 vs PND15`))PND8 vs Adult
make_DT(tab = rowData(tfa.all$`PND8 vs Adult`))PND15 vs Adult
make_DT(tab = rowData(tfa.all$`PND15 vs Adult`))Filtered regulons
PND8 vs PND15
make_DT(tab = rowData(tfa$`PND8 vs PND15`))PND8 vs Adult
make_DT(tab = rowData(tfa$`PND8 vs Adult`))PND15 vs Adult
make_DT(tab = rowData(tfa$`PND15 vs Adult`))SessionInfo
devtools::session_info()## ─ Session info ──────────────────────────────────────────────────────────
## setting value
## version R version 3.5.3 (2019-03-11)
## os Ubuntu 16.04.6 LTS
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate de_DE.UTF-8
## ctype de_DE.UTF-8
## tz Europe/Zurich
## date 2019-06-20
##
## ─ Packages ──────────────────────────────────────────────────────────────
## package * version date lib source
## acepack 1.4.1 2016-10-29 [1] CRAN (R 3.5.1)
## annotate 1.60.1 2019-03-07 [1] Bioconductor
## AnnotationDbi 1.44.0 2018-10-30 [1] Bioconductor
## assertthat 0.2.1 2019-03-21 [1] CRAN (R 3.5.3)
## backports 1.1.4 2019-04-10 [1] CRAN (R 3.5.3)
## base64enc 0.1-3 2015-07-28 [1] CRAN (R 3.5.1)
## Biobase * 2.42.0 2018-10-30 [1] Bioconductor
## BiocGenerics * 0.28.0 2018-10-30 [1] Bioconductor
## BiocParallel * 1.16.6 2019-02-10 [1] Bioconductor
## Biostrings 2.50.2 2019-01-03 [1] Bioconductor
## bit 1.1-14 2018-05-29 [1] CRAN (R 3.5.1)
## bit64 0.9-7 2017-05-08 [1] CRAN (R 3.5.1)
## bitops 1.0-6 2013-08-17 [1] CRAN (R 3.5.1)
## blob 1.1.1 2018-03-25 [1] CRAN (R 3.5.1)
## bookdown 0.11 2019-05-28 [1] CRAN (R 3.5.3)
## callr 3.2.0 2019-03-15 [1] CRAN (R 3.5.3)
## caTools 1.17.1.2 2019-03-06 [1] CRAN (R 3.5.2)
## checkmate 1.9.3 2019-05-03 [1] CRAN (R 3.5.3)
## class 7.3-15 2019-01-01 [1] CRAN (R 3.5.1)
## cli 1.1.0 2019-03-19 [1] CRAN (R 3.5.3)
## cluster 2.0.9 2019-05-01 [1] CRAN (R 3.5.3)
## codetools 0.2-16 2018-12-24 [1] CRAN (R 3.5.1)
## colorspace 1.4-1 2019-03-18 [1] CRAN (R 3.5.3)
## crayon 1.3.4 2017-09-16 [1] CRAN (R 3.5.1)
## crosstalk 1.0.0 2016-12-21 [1] CRAN (R 3.5.1)
## data.table 1.12.2 2019-04-07 [1] CRAN (R 3.5.3)
## DBI 1.0.0 2018-05-02 [1] CRAN (R 3.5.1)
## DelayedArray * 0.8.0 2018-10-30 [1] Bioconductor
## dendextend 1.12.0 2019-05-11 [1] CRAN (R 3.5.3)
## desc 1.2.0 2018-05-01 [1] CRAN (R 3.5.1)
## DESeq2 1.22.2 2019-01-04 [1] Bioconductor
## devtools 2.0.2 2019-04-08 [1] CRAN (R 3.5.3)
## digest 0.6.19 2019-05-20 [1] CRAN (R 3.5.3)
## dplyr 0.8.1 2019-05-14 [1] CRAN (R 3.5.3)
## DT * 0.7 2019-06-11 [1] CRAN (R 3.5.3)
## e1071 1.7-2 2019-06-05 [1] CRAN (R 3.5.3)
## edgeR * 3.24.3 2019-01-02 [1] Bioconductor
## evaluate 0.14 2019-05-28 [1] CRAN (R 3.5.3)
## foreach 1.4.4 2017-12-12 [1] CRAN (R 3.5.1)
## foreign 0.8-71 2018-07-20 [1] CRAN (R 3.5.1)
## Formula 1.2-3 2018-05-03 [1] CRAN (R 3.5.1)
## fs 1.3.1 2019-05-06 [1] CRAN (R 3.5.3)
## gclus 1.3.2 2019-01-07 [1] CRAN (R 3.5.2)
## gdata 2.18.0 2017-06-06 [1] CRAN (R 3.5.1)
## genefilter 1.64.0 2018-10-30 [1] Bioconductor
## geneplotter 1.60.0 2018-10-30 [1] Bioconductor
## GenomeInfoDb * 1.18.2 2019-02-12 [1] Bioconductor
## GenomeInfoDbData 1.2.0 2019-01-17 [1] Bioconductor
## GenomicRanges * 1.34.0 2018-10-30 [1] Bioconductor
## GEOquery 2.50.5 2018-12-22 [1] Bioconductor
## ggplot2 * 3.1.1 2019-04-07 [1] CRAN (R 3.5.3)
## glue 1.3.1 2019-03-12 [1] CRAN (R 3.5.3)
## gplots 3.0.1.1 2019-01-27 [1] CRAN (R 3.5.2)
## gridExtra * 2.3 2017-09-09 [1] CRAN (R 3.5.1)
## gtable 0.3.0 2019-03-25 [1] CRAN (R 3.5.3)
## gtools 3.8.1 2018-06-26 [1] CRAN (R 3.5.1)
## highr 0.8 2019-03-20 [1] CRAN (R 3.5.3)
## Hmisc 4.2-0 2019-01-26 [1] CRAN (R 3.5.2)
## hms 0.4.2 2018-03-10 [1] CRAN (R 3.5.1)
## htmlTable 1.13.1 2019-01-07 [1] CRAN (R 3.5.2)
## htmltools 0.3.6 2017-04-28 [1] CRAN (R 3.5.1)
## htmlwidgets 1.3 2018-09-30 [1] CRAN (R 3.5.1)
## httpuv 1.5.1 2019-04-05 [1] CRAN (R 3.5.3)
## httr 1.4.0 2018-12-11 [1] CRAN (R 3.5.1)
## IRanges * 2.16.0 2018-10-30 [1] Bioconductor
## iterators 1.0.10 2018-07-13 [1] CRAN (R 3.5.1)
## jsonlite 1.6 2018-12-07 [1] CRAN (R 3.5.1)
## KernSmooth 2.23-15 2015-06-29 [1] CRAN (R 3.5.1)
## knitr 1.23 2019-05-18 [1] CRAN (R 3.5.3)
## labeling 0.3 2014-08-23 [1] CRAN (R 3.5.1)
## later 0.8.0 2019-02-11 [1] CRAN (R 3.5.2)
## lattice 0.20-38 2018-11-04 [1] CRAN (R 3.5.1)
## latticeExtra 0.6-28 2016-02-09 [1] CRAN (R 3.5.1)
## lazyeval 0.2.2 2019-03-15 [1] CRAN (R 3.5.3)
## limma * 3.38.3 2018-12-02 [1] Bioconductor
## locfit 1.5-9.1 2013-04-20 [1] CRAN (R 3.5.1)
## magrittr 1.5 2014-11-22 [1] CRAN (R 3.5.1)
## MASS 7.3-51.4 2019-04-26 [1] CRAN (R 3.5.3)
## Matrix 1.2-17 2019-03-22 [1] CRAN (R 3.5.3)
## matrixStats * 0.54.0 2018-07-23 [1] CRAN (R 3.5.1)
## memoise 1.1.0 2017-04-21 [1] CRAN (R 3.5.1)
## mime 0.7 2019-06-11 [1] CRAN (R 3.5.3)
## miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 3.5.1)
## mixtools 1.1.0 2017-03-10 [1] CRAN (R 3.5.3)
## munsell 0.5.0 2018-06-12 [1] CRAN (R 3.5.1)
## nnet 7.3-12 2016-02-02 [1] CRAN (R 3.5.1)
## pheatmap * 1.0.12 2019-01-04 [1] CRAN (R 3.5.2)
## pillar 1.4.1 2019-05-28 [1] CRAN (R 3.5.3)
## pkgbuild 1.0.3 2019-03-20 [1] CRAN (R 3.5.3)
## pkgconfig 2.0.2 2018-08-16 [1] CRAN (R 3.5.1)
## pkgload 1.0.2 2018-10-29 [1] CRAN (R 3.5.1)
## plgINS * 0.1.5 2019-06-07 [1] local
## plotly * 4.9.0 2019-04-10 [1] CRAN (R 3.5.3)
## plyr 1.8.4 2016-06-08 [1] CRAN (R 3.5.1)
## prettyunits 1.0.2 2015-07-13 [1] CRAN (R 3.5.1)
## processx 3.3.1 2019-05-08 [1] CRAN (R 3.5.3)
## promises 1.0.1 2018-04-13 [1] CRAN (R 3.5.1)
## ps 1.3.0 2018-12-21 [1] CRAN (R 3.5.1)
## purrr 0.3.2 2019-03-15 [1] CRAN (R 3.5.3)
## questionr 0.7.0 2018-11-26 [1] CRAN (R 3.5.1)
## R6 2.4.0 2019-02-14 [1] CRAN (R 3.5.2)
## RColorBrewer * 1.1-2 2014-12-07 [1] CRAN (R 3.5.1)
## Rcpp 1.0.1 2019-03-17 [1] CRAN (R 3.5.3)
## RCurl 1.95-4.12 2019-03-04 [1] CRAN (R 3.5.3)
## readr 1.3.1 2018-12-21 [1] CRAN (R 3.5.1)
## registry 0.5-1 2019-03-05 [1] CRAN (R 3.5.2)
## remotes 2.0.4 2019-04-10 [1] CRAN (R 3.5.3)
## rlang 0.3.4 2019-04-07 [1] CRAN (R 3.5.3)
## rmarkdown 1.13 2019-05-22 [1] CRAN (R 3.5.3)
## rmdformats 0.3.5 2019-02-19 [1] CRAN (R 3.5.2)
## rpart 4.1-15 2019-04-12 [1] CRAN (R 3.5.3)
## rprojroot 1.3-2 2018-01-03 [1] CRAN (R 3.5.1)
## RSQLite 2.1.1 2018-05-06 [1] CRAN (R 3.5.1)
## rstudioapi 0.10 2019-03-19 [1] CRAN (R 3.5.3)
## S4Vectors * 0.20.1 2018-11-09 [1] Bioconductor
## scales 1.0.0 2018-08-09 [1] CRAN (R 3.5.1)
## segmented 0.5-4.0 2019-05-13 [1] CRAN (R 3.5.3)
## seriation * 1.2-7 2019-06-08 [1] CRAN (R 3.5.3)
## sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 3.5.1)
## shiny 1.3.2 2019-04-22 [1] CRAN (R 3.5.3)
## SRAdb 1.44.0 2018-10-30 [1] Bioconductor
## stringi 1.4.3 2019-03-12 [1] CRAN (R 3.5.3)
## stringr 1.4.0 2019-02-10 [1] CRAN (R 3.5.2)
## SummarizedExperiment * 1.12.0 2018-10-30 [1] Bioconductor
## survival 2.44-1.1 2019-04-01 [1] CRAN (R 3.5.3)
## testthat 2.1.1 2019-04-23 [1] CRAN (R 3.5.3)
## tibble 2.1.3 2019-06-06 [1] CRAN (R 3.5.3)
## tidyr 0.8.3 2019-03-01 [1] CRAN (R 3.5.2)
## tidyselect 0.2.5 2018-10-11 [1] CRAN (R 3.5.1)
## TSP 1.1-7 2019-05-22 [1] CRAN (R 3.5.3)
## UpSetR * 1.4.0 2019-05-22 [1] CRAN (R 3.5.3)
## usethis 1.5.0 2019-04-07 [1] CRAN (R 3.5.3)
## viper * 1.16.0 2018-10-30 [1] Bioconductor
## viridis 0.5.1 2018-03-29 [1] CRAN (R 3.5.1)
## viridisLite 0.3.0 2018-02-01 [1] CRAN (R 3.5.1)
## withr 2.1.2 2018-03-15 [1] CRAN (R 3.5.1)
## xfun 0.7 2019-05-14 [1] CRAN (R 3.5.3)
## XML 3.98-1.20 2019-06-06 [1] CRAN (R 3.5.3)
## xml2 1.2.0 2018-01-24 [1] CRAN (R 3.5.1)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 3.5.3)
## XVector 0.22.0 2018-10-30 [1] Bioconductor
## yaml 2.2.0 2018-07-25 [1] CRAN (R 3.5.1)
## zlibbioc 1.28.0 2018-10-30 [1] Bioconductor
##
## [1] /home/ubuntu/R/x86_64-pc-linux-gnu-library/3.5
## [2] /usr/local/lib/R/site-library
## [3] /usr/lib/R/site-library
## [4] /usr/lib/R/library